
Obj/FWlib_apt32f172_usart.o:     file format elf32-csky-little


Disassembly of section .text:

00000000 <USART_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_DeInit(void)
{
	USART0->IDR   	= USART_IDR_RST;
   0:	106c      	lrw      	r3, 0	// 30 <USART_DeInit+0x30>
   2:	104d      	lrw      	r2, 0x11001b	// 34 <USART_DeInit+0x34>
   4:	9360      	ld.w      	r3, (r3, 0)
   6:	b340      	st.w      	r2, (r3, 0)
	USART0->CEDR   	= USART_CEDR_RST;
   8:	3200      	movi      	r2, 0
   a:	b341      	st.w      	r2, (r3, 0x4)
	USART0->SRR 	= USART_SRR_RST;
   c:	b342      	st.w      	r2, (r3, 0x8)
	USART0->CR 		= USART_CR_RST;
   e:	b343      	st.w      	r2, (r3, 0xc)
	USART0->MR   	= USART_MR_RST;
  10:	b344      	st.w      	r2, (r3, 0x10)
	USART0->IMSCR   = USART_IMSCR_RST;
  12:	b345      	st.w      	r2, (r3, 0x14)
	USART0->RISR  	= USART_RISR_RST;
  14:	b346      	st.w      	r2, (r3, 0x18)
	USART0->MISR   	= USART_MISR_RST;
  16:	b347      	st.w      	r2, (r3, 0x1c)
	USART0->ICR   	= USART_ICR_RST;
  18:	b348      	st.w      	r2, (r3, 0x20)
	USART0->SR   	= USART_SR_RST;
  1a:	3280      	movi      	r2, 128
  1c:	4244      	lsli      	r2, r2, 4
  1e:	b349      	st.w      	r2, (r3, 0x24)
	USART0->RHR   	= USART_RHR_RST;
  20:	3200      	movi      	r2, 0
  22:	b34a      	st.w      	r2, (r3, 0x28)
	USART0->THR   	= USART_THR_RST;
  24:	b34b      	st.w      	r2, (r3, 0x2c)
	USART0->BRGR   	= USART_BRGR_RST;
  26:	b34c      	st.w      	r2, (r3, 0x30)
	USART0->RTOR   	= USART_RTOR_RST;
  28:	b34d      	st.w      	r2, (r3, 0x34)
	USART0->TTGR   	= USART_TTGR_RST;
  2a:	b34e      	st.w      	r2, (r3, 0x38)
}
  2c:	783c      	rts
  2e:	0000      	bkpt
  30:	00000000 	.long	0x00000000
  34:	0011001b 	.long	0x0011001b

00000038 <USART_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_Int_Enable(void)
{
    USART0->ICR=0x7FF;									//clear USART INT status
  38:	1364      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
  3a:	1345      	lrw      	r2, 0x7ff	// 1cc <USART_Baudrate_Cal+0x14>
  3c:	9360      	ld.w      	r3, (r3, 0)
  3e:	b348      	st.w      	r2, (r3, 0x20)
	INTC_ISER_WRITE(USART0_INT);							//INT Vector Enable USART Interrupt
  40:	3280      	movi      	r2, 128
  42:	1364      	lrw      	r3, 0	// 1d0 <USART_Baudrate_Cal+0x18>
  44:	4246      	lsli      	r2, r2, 6
  46:	9360      	ld.w      	r3, (r3, 0)
  48:	23ff      	addi      	r3, 256
  4a:	b340      	st.w      	r2, (r3, 0)
}
  4c:	783c      	rts

0000004e <USART_Int_Disable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_Int_Disable(void)
{
	INTC_ICER_WRITE(USART0_INT);							//INT Vector Enable USART Interrupt
  4e:	1361      	lrw      	r3, 0	// 1d0 <USART_Baudrate_Cal+0x18>
  50:	32c0      	movi      	r2, 192
  52:	9360      	ld.w      	r3, (r3, 0)
  54:	4241      	lsli      	r2, r2, 1
  56:	60c8      	addu      	r3, r2
  58:	3280      	movi      	r2, 128
  5a:	4246      	lsli      	r2, r2, 6
  5c:	b340      	st.w      	r2, (r3, 0)
}
  5e:	783c      	rts

00000060 <USART_WakeUp_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_WakeUp_Enable(void)
{
    INTC_IWER_WRITE(USART0_INT);    
  60:	127c      	lrw      	r3, 0	// 1d0 <USART_Baudrate_Cal+0x18>
  62:	3280      	movi      	r2, 128
  64:	9360      	ld.w      	r3, (r3, 0)
  66:	23ff      	addi      	r3, 256
  68:	4246      	lsli      	r2, r2, 6
  6a:	b350      	st.w      	r2, (r3, 0x40)
}
  6c:	783c      	rts

0000006e <USART_WakeUp_Disable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_WakeUp_Disable(void)
{
    INTC_IWDR_WRITE(USART0_INT);    
  6e:	1279      	lrw      	r3, 0	// 1d0 <USART_Baudrate_Cal+0x18>
  70:	32e0      	movi      	r2, 224
  72:	9360      	ld.w      	r3, (r3, 0)
  74:	4241      	lsli      	r2, r2, 1
  76:	60c8      	addu      	r3, r2
  78:	3280      	movi      	r2, 128
  7a:	4246      	lsli      	r2, r2, 6
  7c:	b340      	st.w      	r2, (r3, 0)
}
  7e:	783c      	rts

00000080 <USART_IO_Init>:
//USART_IO_G:0 1
//ReturnValue:NONE
/*************************************************************/
void USART_IO_Init(USART_NUM_TypeDef USART_IO_G)
{
    if (USART_IO_G==USART_PB0)
  80:	3840      	cmpnei      	r0, 0
  82:	080a      	bt      	0x96	// 96 <USART_IO_Init+0x16>
    {
		GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF00)  | 0x00000044;       //PB0.0->RXD0, PB0.1->TXD0
  84:	1274      	lrw      	r3, 0	// 1d4 <USART_Baudrate_Cal+0x1c>
  86:	31ff      	movi      	r1, 255
  88:	9340      	ld.w      	r2, (r3, 0)
  8a:	9260      	ld.w      	r3, (r2, 0)
  8c:	68c5      	andn      	r3, r1
  8e:	3ba2      	bseti      	r3, r3, 2
  90:	3ba6      	bseti      	r3, r3, 6
  92:	b260      	st.w      	r3, (r2, 0)
    }
     if (USART_IO_G==USART_PA0)
    {
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF)  | 0x00055000;       //PA0.3->RXD1, PA0.4->TXD1
    }
}
  94:	783c      	rts
     if (USART_IO_G==USART_PA0)
  96:	3841      	cmpnei      	r0, 1
  98:	0bfe      	bt      	0x94	// 94 <USART_IO_Init+0x14>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF)  | 0x00055000;       //PA0.3->RXD1, PA0.4->TXD1
  9a:	1270      	lrw      	r3, 0	// 1d8 <USART_Baudrate_Cal+0x20>
  9c:	32ff      	movi      	r2, 255
  9e:	9320      	ld.w      	r1, (r3, 0)
  a0:	9160      	ld.w      	r3, (r1, 0)
  a2:	424c      	lsli      	r2, r2, 12
  a4:	68c9      	andn      	r3, r2
  a6:	32aa      	movi      	r2, 170
  a8:	424b      	lsli      	r2, r2, 11
  aa:	6cc8      	or      	r3, r2
  ac:	b160      	st.w      	r3, (r1, 0)
}
  ae:	07f3      	br      	0x94	// 94 <USART_IO_Init+0x14>

000000b0 <USART_CLKIO_Init>:
//USART_IO_G:0 1
//ReturnValue:NONE
/*************************************************************/
void USART_CLKIO_Init(USART_CLKNUM_TypeDef USART_CLKIO_G)
{
    if (USART_CLKIO_G==CLK_PA02)
  b0:	3840      	cmpnei      	r0, 0
  b2:	080d      	bt      	0xcc	// cc <USART_CLKIO_Init+0x1c>
    {
		GPIOA0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000600;       //PA0.2 AS USART CK OUT
  b4:	1269      	lrw      	r3, 0	// 1d8 <USART_Baudrate_Cal+0x20>
  b6:	32f0      	movi      	r2, 240
  b8:	9320      	ld.w      	r1, (r3, 0)
  ba:	4244      	lsli      	r2, r2, 4
  bc:	1266      	lrw      	r3, 0	// 1d4 <USART_Baudrate_Cal+0x1c>
  be:	9360      	ld.w      	r3, (r3, 0)
  c0:	9360      	ld.w      	r3, (r3, 0)
  c2:	68c9      	andn      	r3, r2
  c4:	3ba9      	bseti      	r3, r3, 9
  c6:	3baa      	bseti      	r3, r3, 10
    }
     if (USART_CLKIO_G==CLK_PA05)
    {
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00500000;       //PA0.5 AS USART CK OUT
  c8:	b160      	st.w      	r3, (r1, 0)
    }
}
  ca:	783c      	rts
     if (USART_CLKIO_G==CLK_PA05)
  cc:	3841      	cmpnei      	r0, 1
  ce:	0bfe      	bt      	0xca	// ca <USART_CLKIO_Init+0x1a>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00500000;       //PA0.5 AS USART CK OUT
  d0:	1262      	lrw      	r3, 0	// 1d8 <USART_Baudrate_Cal+0x20>
  d2:	32f0      	movi      	r2, 240
  d4:	9320      	ld.w      	r1, (r3, 0)
  d6:	9160      	ld.w      	r3, (r1, 0)
  d8:	4250      	lsli      	r2, r2, 16
  da:	68c9      	andn      	r3, r2
  dc:	3bb4      	bseti      	r3, r3, 20
  de:	3bb6      	bseti      	r3, r3, 22
  e0:	07f4      	br      	0xc8	// c8 <USART_CLKIO_Init+0x18>

000000e2 <USART_Software_Reset>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_Software_Reset(void)
{
	USART0->SRR =0x01;
  e2:	117a      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
  e4:	3201      	movi      	r2, 1
  e6:	9360      	ld.w      	r3, (r3, 0)
  e8:	b342      	st.w      	r2, (r3, 0x8)
}
  ea:	783c      	rts

000000ec <USART_CLK_Disable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_CLK_Disable(void)
{
   USART0->CEDR |= 0; 							//Disable USART Clock 
  ec:	1177      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
  ee:	9360      	ld.w      	r3, (r3, 0)
  f0:	9341      	ld.w      	r2, (r3, 0x4)
  f2:	b341      	st.w      	r2, (r3, 0x4)
}
  f4:	783c      	rts

000000f6 <USART_CLK_Enable>:
//EntryParameter:INT_RegVal
//ReturnValue:NONE
/*************************************************************/
void USART_CLK_Enable(void)
{
   USART0->CEDR |= 1; 							//Disable USART Clock 
  f6:	1175      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
  f8:	9340      	ld.w      	r2, (r3, 0)
  fa:	9261      	ld.w      	r3, (r2, 0x4)
  fc:	3ba0      	bseti      	r3, r3, 0
  fe:	b261      	st.w      	r3, (r2, 0x4)
}
 100:	783c      	rts

00000102 <USART_INT_Config>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_INT_Config(USART_INT_TypeDef int_type,FunctionalStatus newState)
{
	CSP_USART_SET_ICR(USART0, 0xFFFFFFFF);			// Clear all interrupt
 102:	1172      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 104:	3200      	movi      	r2, 0
 106:	9360      	ld.w      	r3, (r3, 0)
 108:	2a00      	subi      	r2, 1
	if (newState != DISABLE)
 10a:	3940      	cmpnei      	r1, 0
	CSP_USART_SET_ICR(USART0, 0xFFFFFFFF);			// Clear all interrupt
 10c:	b348      	st.w      	r2, (r3, 0x20)
	if (newState != DISABLE)
 10e:	0c07      	bf      	0x11c	// 11c <USART_INT_Config+0x1a>
	{
		USART0->IMSCR |=1<<int_type;					// Interrupt Enable
 110:	3201      	movi      	r2, 1
 112:	9325      	ld.w      	r1, (r3, 0x14)
 114:	7080      	lsl      	r2, r0
 116:	6c84      	or      	r2, r1
	}
	else
	{
		USART0->IMSCR |=0<<int_type;					// Interrupt Disable
 118:	b345      	st.w      	r2, (r3, 0x14)
	}
}
 11a:	783c      	rts
		USART0->IMSCR |=0<<int_type;					// Interrupt Disable
 11c:	9345      	ld.w      	r2, (r3, 0x14)
 11e:	07fd      	br      	0x118	// 118 <USART_INT_Config+0x16>

00000120 <USART_INT_RegConfig>:
//EntryParameter:INT_RegVal
//ReturnValue:NONE
/*************************************************************/
void USART_INT_RegConfig(U32_T INT_RegVal)
{
	CSP_USART_SET_ICR(USART0, 0xFFFFFFFF);
 120:	116a      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 122:	9340      	ld.w      	r2, (r3, 0)
 124:	3300      	movi      	r3, 0
 126:	2b00      	subi      	r3, 1
 128:	b268      	st.w      	r3, (r2, 0x20)
	CSP_USART_SET_IMSCR(USART0, INT_RegVal);
 12a:	b205      	st.w      	r0, (r2, 0x14)

}
 12c:	783c      	rts

0000012e <USART_MODE_Config>:
//EntryParameter:INT_RegVal
//ReturnValue:NONE
/*************************************************************/
void USART_MODE_Config(USART_SENDTIME_TypeDef SENDTIME_DATA,USART_CLKS_TypeDef CLKS_DATA, USART_CHRL_TypeDef CHRL_DATA,
						USART_SYNC_TypeDef SYNC_DATA,USART_PAR_TypeDef PAR_DAT,USART_NBSTOP_TypeDef NBSTOP_DATA,USART_CHMODE_TypeDef CHMODE_DATA)
{
 12e:	14c4      	push      	r4-r7
 130:	1421      	subi      	sp, sp, 4
 132:	9885      	ld.w      	r4, (sp, 0x14)
 134:	6dd3      	mov      	r7, r4
 136:	9886      	ld.w      	r4, (sp, 0x18)
 138:	b880      	st.w      	r4, (sp, 0)
 13a:	9887      	ld.w      	r4, (sp, 0x1c)
 13c:	6d93      	mov      	r6, r4
	USART0->MR |= 0<<17;
 13e:	1183      	lrw      	r4, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 140:	94a0      	ld.w      	r5, (r4, 0)
 142:	9584      	ld.w      	r4, (r5, 0x10)
 144:	b584      	st.w      	r4, (r5, 0x10)
	USART0->MR |= SENDTIME_DATA | CLKS_DATA | CHRL_DATA | SYNC_DATA | PAR_DAT| NBSTOP_DATA | CHMODE_DATA;
 146:	9584      	ld.w      	r4, (r5, 0x10)
 148:	6d18      	or      	r4, r6
 14a:	98c0      	ld.w      	r6, (sp, 0)
 14c:	6d18      	or      	r4, r6
 14e:	6d1c      	or      	r4, r7
 150:	6cd0      	or      	r3, r4
 152:	6c8c      	or      	r2, r3
 154:	6c48      	or      	r1, r2
 156:	6c04      	or      	r0, r1
 158:	6d9f      	mov      	r6, r7
 15a:	b504      	st.w      	r0, (r5, 0x10)
}
 15c:	1401      	addi      	sp, sp, 4
 15e:	1484      	pop      	r4-r7

00000160 <USART_CTRL_Config>:
//EntryParameter:CTRL_DATA, ENABLE/DISABLE
//ReturnValue:NONE
/*************************************************************/
void USART_CTRL_Config(USART_CTRL_TypeDef CTRL_DATA,FunctionalStatus newState)
{
	if (newState!=DISABLE)
 160:	3940      	cmpnei      	r1, 0
 162:	107a      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 164:	0c08      	bf      	0x174	// 174 <USART_CTRL_Config+0x14>
	{
		USART0->CR  |= 1<<CTRL_DATA;
 166:	9340      	ld.w      	r2, (r3, 0)
 168:	3301      	movi      	r3, 1
 16a:	9223      	ld.w      	r1, (r2, 0xc)
 16c:	70c0      	lsl      	r3, r0
 16e:	6cc4      	or      	r3, r1
 170:	b263      	st.w      	r3, (r2, 0xc)
	}
	else
	{
		USART0->CR  |= 0<<CTRL_DATA;
	}
}
 172:	783c      	rts
		USART0->CR  |= 0<<CTRL_DATA;
 174:	9360      	ld.w      	r3, (r3, 0)
 176:	9343      	ld.w      	r2, (r3, 0xc)
 178:	b343      	st.w      	r2, (r3, 0xc)
}
 17a:	07fc      	br      	0x172	// 172 <USART_CTRL_Config+0x12>

0000017c <USART_DSB_Config>:
//EntryParameter:LSBtoMSB / MSBtoLSB
//ReturnValue:NONE
/*************************************************************/
void USART_DSB_Config(USART_DSB_TypeDef DSB_DATA)
{
	USART0->MR |= DSB_DATA;
 17c:	1073      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 17e:	9340      	ld.w      	r2, (r3, 0)
 180:	9264      	ld.w      	r3, (r2, 0x10)
 182:	6c0c      	or      	r0, r3
 184:	b204      	st.w      	r0, (r2, 0x10)
}
 186:	783c      	rts

00000188 <USART_SAMRTCARD_Config>:
//EntryParameter:DISABLE/ENABLE
//ReturnValue:NONE
/*************************************************************/
void USART_SAMRTCARD_Config(FunctionalStatus newState)
{
	if (newState!=DISABLE)
 188:	3840      	cmpnei      	r0, 0
 18a:	1070      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 18c:	0c06      	bf      	0x198	// 198 <USART_SAMRTCARD_Config+0x10>
	{
		USART0->MR |= 1<<16;
 18e:	9340      	ld.w      	r2, (r3, 0)
 190:	9264      	ld.w      	r3, (r2, 0x10)
 192:	3bb0      	bseti      	r3, r3, 16
 194:	b264      	st.w      	r3, (r2, 0x10)
	}
	else
	{
		USART0->MR |= 0<<16;
	}
}
 196:	783c      	rts
		USART0->MR |= 0<<16;
 198:	9360      	ld.w      	r3, (r3, 0)
 19a:	9344      	ld.w      	r2, (r3, 0x10)
 19c:	b344      	st.w      	r2, (r3, 0x10)
}
 19e:	07fc      	br      	0x196	// 196 <USART_SAMRTCARD_Config+0xe>

000001a0 <USART_CLKO_Config>:
//EntryParameter:DISABLE/ENABLE
//ReturnValue:NONE
/*************************************************************/
void USART_CLKO_Config(FunctionalStatus newState)
{
	if (newState!=DISABLE)
 1a0:	3840      	cmpnei      	r0, 0
 1a2:	106a      	lrw      	r3, 0	// 1c8 <USART_Baudrate_Cal+0x10>
 1a4:	0c06      	bf      	0x1b0	// 1b0 <USART_CLKO_Config+0x10>
	{
		USART0->MR |= (1<<18) | (0<<4) ;
 1a6:	9340      	ld.w      	r2, (r3, 0)
 1a8:	9264      	ld.w      	r3, (r2, 0x10)
 1aa:	3bb2      	bseti      	r3, r3, 18
 1ac:	b264      	st.w      	r3, (r2, 0x10)
	}
	else
	{
		USART0->MR |= 0<<18;
	}
}
 1ae:	783c      	rts
		USART0->MR |= 0<<18;
 1b0:	9360      	ld.w      	r3, (r3, 0)
 1b2:	9344      	ld.w      	r2, (r3, 0x10)
 1b4:	b344      	st.w      	r2, (r3, 0x10)
}
 1b6:	07fc      	br      	0x1ae	// 1ae <USART_CLKO_Config+0xe>

000001b8 <USART_Baudrate_Cal>:
//USART baudrate calculate
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_Baudrate_Cal(unsigned int rate,unsigned int PCLK_Val,USART_CLKS_TypeDef CLKS_DATA,USART_SYNC_TypeDef SYNC_DATA)
{
 1b8:	14d1      	push      	r4, r15
	unsigned int PCLK_Data=0;
	unsigned int BRGR_Data=0;
	if (CLKS_DATA==PCLK_DIV8)
 1ba:	3a50      	cmpnei      	r2, 16
{
 1bc:	6d03      	mov      	r4, r0
 1be:	6c07      	mov      	r0, r1
	if (CLKS_DATA==PCLK_DIV8)
 1c0:	080e      	bt      	0x1dc	// 1dc <USART_Baudrate_Cal+0x24>
	{
		PCLK_Data=PCLK_Val/8;
 1c2:	4903      	lsri      	r0, r1, 3
 1c4:	040c      	br      	0x1dc	// 1dc <USART_Baudrate_Cal+0x24>
 1c6:	0000      	bkpt
 1c8:	00000000 	.long	0x00000000
 1cc:	000007ff 	.long	0x000007ff
	...
	}
	else PCLK_Data=PCLK_Val;
	if (SYNC_DATA==SYNC)
 1dc:	3280      	movi      	r2, 128
 1de:	4241      	lsli      	r2, r2, 1
 1e0:	648e      	cmpne      	r3, r2
 1e2:	0809      	bt      	0x1f4	// 1f4 <USART_Baudrate_Cal+0x3c>
	{
		BRGR_Data=PCLK_Data/rate;			//SYNC同步
	}
	else 
	{
		BRGR_Data=PCLK_Data/16/rate;				//ASYNC异步
 1e4:	6c53      	mov      	r1, r4
 1e6:	e0000000 	bsr      	0	// 0 <__udivsi3>
	}
	USART0->BRGR = BRGR_Data<<4;
 1ea:	116f      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
 1ec:	4004      	lsli      	r0, r0, 4
 1ee:	9360      	ld.w      	r3, (r3, 0)
 1f0:	b30c      	st.w      	r0, (r3, 0x30)
}
 1f2:	1491      	pop      	r4, r15
		BRGR_Data=PCLK_Data/16/rate;				//ASYNC异步
 1f4:	4804      	lsri      	r0, r0, 4
 1f6:	07f7      	br      	0x1e4	// 1e4 <USART_Baudrate_Cal+0x2c>

000001f8 <USART_TGTO_Config>:
//EntryParameter:INT_RegVal
//ReturnValue:NONE
/*************************************************************/
void USART_TGTO_Config(U8_T timeOut_u8,U8_T timeGuard_u8)
{
    USART0->RTOR=timeOut_u8;					// Set Receiver Time Out
 1f8:	116b      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
 1fa:	9360      	ld.w      	r3, (r3, 0)
 1fc:	b30d      	st.w      	r0, (r3, 0x34)
    USART0->TTGR=timeGuard_u8;					// Set Transmitter Timer Guard
 1fe:	b32e      	st.w      	r1, (r3, 0x38)
}
 200:	783c      	rts

00000202 <USART_TxByte>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void USART_TxByte(U16_T TXdata_u8)
{
	CSP_USART_SET_THR(USART0,TXdata_u8);		// Write the transmit buffer
 202:	1169      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
	while ( (CSP_USART_GET_RISR(USART0) & USART_TXRDY) != USART_TXRDY ) {}	// Wait for the transmit done
 204:	3102      	movi      	r1, 2
	CSP_USART_SET_THR(USART0,TXdata_u8);		// Write the transmit buffer
 206:	9360      	ld.w      	r3, (r3, 0)
 208:	b30b      	st.w      	r0, (r3, 0x2c)
	while ( (CSP_USART_GET_RISR(USART0) & USART_TXRDY) != USART_TXRDY ) {}	// Wait for the transmit done
 20a:	9346      	ld.w      	r2, (r3, 0x18)
 20c:	6884      	and      	r2, r1
 20e:	3a40      	cmpnei      	r2, 0
 210:	0ffd      	bf      	0x20a	// 20a <USART_TxByte+0x8>
	CSP_USART_SET_ICR(USART0, USART_TXRDY);		// Clear status bit for the next transmit
 212:	3202      	movi      	r2, 2
 214:	b348      	st.w      	r2, (r3, 0x20)
}
 216:	783c      	rts

00000218 <USARTTransmit>:
//UART Transmit 
//EntryParameter:UART0,UART1,sourceAddress_u16,length_u16
//ReturnValue:NONE
/*************************************************************/
void USARTTransmit(U16_T *sourceAddress_u16,U16_T length_u16)
{
 218:	14c2      	push      	r4-r5
	unsigned int  DataJ;  //DataI,
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
	{
		CSP_USART_SET_THR(USART0,*sourceAddress_u16++);
 21a:	1163      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
		/*do{
			DataI = CSP_USART_GET_RHR(USART0);
			DataI = DataI & USART_TXRDY;
		}while(DataI == USART_TXRDY);    //Loop  when tx is full
		*/
		while ( (CSP_USART_GET_RISR(USART0) & USART_TXRDY) != USART_TXRDY ) {}	// Wait for the transmit done
 21c:	3502      	movi      	r5, 2
		CSP_USART_SET_THR(USART0,*sourceAddress_u16++);
 21e:	9340      	ld.w      	r2, (r3, 0)
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
 220:	3300      	movi      	r3, 0
 222:	644c      	cmphs      	r3, r1
 224:	0c02      	bf      	0x228	// 228 <USARTTransmit+0x10>
		CSP_USART_SET_ICR(USART0, USART_TXRDY);		// Clear status bit for the next transmit
	}
}
 226:	1482      	pop      	r4-r5
		CSP_USART_SET_THR(USART0,*sourceAddress_u16++);
 228:	8880      	ld.h      	r4, (r0, 0)
 22a:	b28b      	st.w      	r4, (r2, 0x2c)
		while ( (CSP_USART_GET_RISR(USART0) & USART_TXRDY) != USART_TXRDY ) {}	// Wait for the transmit done
 22c:	9286      	ld.w      	r4, (r2, 0x18)
 22e:	6914      	and      	r4, r5
 230:	3c40      	cmpnei      	r4, 0
 232:	0ffd      	bf      	0x22c	// 22c <USARTTransmit+0x14>
		CSP_USART_SET_ICR(USART0, USART_TXRDY);		// Clear status bit for the next transmit
 234:	3402      	movi      	r4, 2
 236:	b288      	st.w      	r4, (r2, 0x20)
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
 238:	2300      	addi      	r3, 1
 23a:	2001      	addi      	r0, 2
 23c:	07f3      	br      	0x222	// 222 <USARTTransmit+0xa>

0000023e <USARTRxByte>:
/*************************************************************/
U16_T USARTRxByte(CSP_UART_T *uart,U16_T *Rxdata_u16)
{
	unsigned int  DataI;

	DataI = CSP_USART_GET_RHR(USART0);
 23e:	107a      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
	DataI = DataI & USART_RXRDY;
 240:	3001      	movi      	r0, 1
	DataI = CSP_USART_GET_RHR(USART0);
 242:	9340      	ld.w      	r2, (r3, 0)
 244:	926a      	ld.w      	r3, (r2, 0x28)
	DataI = DataI & USART_RXRDY;
 246:	68c0      	and      	r3, r0
	if(DataI != USART_RXRDY)    //Loop  when rx is not full
 248:	3b40      	cmpnei      	r3, 0
 24a:	0c04      	bf      	0x252	// 252 <USARTRxByte+0x14>
		return FALSE;
	else
	{
		*Rxdata_u16 = CSP_USART_GET_RHR(USART0);
 24c:	926a      	ld.w      	r3, (r2, 0x28)
 24e:	a960      	st.h      	r3, (r1, 0)
	    return TRUE;
	}
}
 250:	783c      	rts
		return FALSE;
 252:	3000      	movi      	r0, 0
 254:	07fe      	br      	0x250	// 250 <USARTRxByte+0x12>

00000256 <USART_ReturnRxByte>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
U16_T USART_ReturnRxByte(void)
{
	RxDataFlag = FALSE;
 256:	1075      	lrw      	r3, 0	// 2a8 <USARTReceive+0x3c>
 258:	3200      	movi      	r2, 0
 25a:	a340      	st.b      	r2, (r3, 0)
	while(RxDataFlag != TRUE);
 25c:	8340      	ld.b      	r2, (r3, 0)
 25e:	3a41      	cmpnei      	r2, 1
 260:	0bfe      	bt      	0x25c	// 25c <USART_ReturnRxByte+0x6>
	return CSP_USART_GET_RHR(USART0);
 262:	1071      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
 264:	9360      	ld.w      	r3, (r3, 0)
 266:	930a      	ld.w      	r0, (r3, 0x28)
 268:	7401      	zexth      	r0, r0
}
 26a:	783c      	rts

0000026c <USARTReceive>:
//USART Receive 
//EntryParameter:destAddress_u16,length_u16
//ReturnValue:NONE
/*************************************************************/
U16_T USARTReceive(U16_T *destAddress_u16,U16_T length_u16)
{
 26c:	14c4      	push      	r4-r7
	unsigned int  DataI,DataJ,LoopTime;

	DataJ = 0;
	LoopTime = 0;
	do{
		DataI = CSP_USART_GET_RHR(USART0);
 26e:	106e      	lrw      	r3, 0	// 2a4 <USARTReceive+0x38>
	LoopTime = 0;
 270:	3400      	movi      	r4, 0
		DataI = CSP_USART_GET_RHR(USART0);
 272:	93a0      	ld.w      	r5, (r3, 0)
		DataI = DataI & USART_RXRDY;
 274:	3601      	movi      	r6, 1
	DataJ = 0;
 276:	3300      	movi      	r3, 0
		{
			*destAddress_u16++ = CSP_USART_GET_RHR(USART0);
			DataJ++;
			LoopTime = 0;
		}
		if(LoopTime ++ >= 0xfff0)
 278:	10ed      	lrw      	r7, 0xffef	// 2ac <USARTReceive+0x40>
		DataI = CSP_USART_GET_RHR(USART0);
 27a:	954a      	ld.w      	r2, (r5, 0x28)
		DataI = DataI & USART_RXRDY;
 27c:	6898      	and      	r2, r6
		if(DataI == USART_RXRDY)    //Loop  when rx is full
 27e:	3a40      	cmpnei      	r2, 0
 280:	0c0d      	bf      	0x29a	// 29a <USARTReceive+0x2e>
			*destAddress_u16++ = CSP_USART_GET_RHR(USART0);
 282:	954a      	ld.w      	r2, (r5, 0x28)
 284:	a840      	st.h      	r2, (r0, 0)
			DataJ++;
 286:	2300      	addi      	r3, 1
			*destAddress_u16++ = CSP_USART_GET_RHR(USART0);
 288:	2001      	addi      	r0, 2
			LoopTime = 0;
 28a:	3200      	movi      	r2, 0
		if(LoopTime ++ >= 0xfff0)
 28c:	649c      	cmphs      	r7, r2
 28e:	5a82      	addi      	r4, r2, 1
 290:	0c07      	bf      	0x29e	// 29e <USARTReceive+0x32>
			return FALSE;
	}while(DataJ < length_u16);
 292:	644c      	cmphs      	r3, r1
 294:	0ff3      	bf      	0x27a	// 27a <USARTReceive+0xe>
	return TRUE;
 296:	3001      	movi      	r0, 1
}
 298:	1484      	pop      	r4-r7
 29a:	6c93      	mov      	r2, r4
 29c:	07f8      	br      	0x28c	// 28c <USARTReceive+0x20>
			return FALSE;
 29e:	3000      	movi      	r0, 0
 2a0:	07fc      	br      	0x298	// 298 <USARTReceive+0x2c>
	...
 2aa:	0000      	.short	0x0000
 2ac:	0000ffef 	.long	0x0000ffef
